Die Vererbung erlaubt einer Objektklasse das Verhalten und die Struktur bestehender Klassen zu übernehmen (zu erben), zu ändern und zu erweitern, ohne sie neu entwerfen und implementieren zu müssen. Sie ermöglicht das Abbilden von Spezialisierungs- oder 'Art von'- Beziehungen in einer Klassifikationshierarchie.
Seit Office 2000 kennt auch VBA die benutzerdefinierbare Vererbung. Funktionalität von einer vordefinierten Klasse erben, konnte man hingegen schon immer. Beispiel grüsseHöflich.xls illustriert die Vererbung an der systemdefinierten Formularklasse. Ein Formularmodul kann als Klassenmodul mit einer 'leeren' Benutzerschnittstelle aufgefasst werden. Zwei Eigenschaften dieser Modulart sind die Left- und die Visible-Eigenschaft. Zwei Methoden sind die Show- und die Hide-Methode. Diese Eigenschaften und Methoden erbt man, wenn man ein neues Formular definiert. grüsseHöflich.xls fügt der Benutzerschnittstelle ein Bezeichnungsfeld lblBegrüssung und den Eigenschaften eine Eigenschaft Gruss hinzu.
Formularmodul frmGrüsse
Public Property Let Gruss(neuerGruss As String) lblBegrüssung.Caption = neuerGruss End Property
Das folgende Testprogramm verwendet die benutzerdefinierte Eigenschaft Gruss und die geerbte Methode Show.
Standardmodul Prozeduren
Private Dialog As frmGrüsse Sub grüsseHöflich() Set Dialog = New frmGrüsse Dialog.Gruss = "Guten Tag" 'benutzerdefiniert Dialog.Show 'geerbt End Sub